<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" >
<head>
<title>Testing animation</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
	@import "../../../dojo/resources/dojo.css";
	@import "../../../dijit/tests/css/dijitTests.css";
</style>
<script type="text/javascript" src="../../../dojo/dojo.js" data-dojo-config="isDebug: true"></script>
<!--
<script type="text/javascript" src="../_base.js"></script>
<script type="text/javascript" src="../shape.js"></script>
<script type="text/javascript" src="../path.js"></script>
<script type="text/javascript" src="../arc.js"></script>
<script type="text/javascript" src="../fx.js"></script>
-->
<!--<script type="text/javascript" src="../vml.js"></script>-->
<!--<script type="text/javascript" src="../svg.js"></script>-->
<!--<script type="text/javascript" src="../canvas.js"></script>-->
<!--<script type="text/javascript" src="../silverlight.js"></script>-->

<script type="text/javascript">
dojo.require("dojox.gfx");
dojo.require("dojox.gfx.fx");
dojo.require("dojo.colors");

var rect, text;

function createSurface(){
	var surface = dojox.gfx.createSurface("test", 500, 500);
	surface.whenLoaded(makeShapes);
};

function makeShapes(surface){
	rect = surface.createRect({x: 100, y: 100, width: 300, height: 300}).
		setFill("yellow").setStroke({
			color: "green",
			width: 5,
			join: "round"
		});
	text = surface.createText({x: 250, y: 250, text: "Hello!", align: "middle"})
		.setFill("black").setFont({family: "serif", size: "10pt"});
};

dojo.addOnLoad(createSurface);

var animateStroke = function(){
	var anim = dojox.gfx.fx.animateStroke({
		duration:	5000,
		shape: 		rect,
		color:		{start: "green", end: "red"},
		width:		{start: 5, end: 15},
		join:		{values: ["bevel", "round"]}
	});
	dojo.byId("stroke").disabled = "disabled";
	dojo.connect(anim, "onEnd", function(){ dojo.byId("stroke").disabled = ""; });
	anim.play();
};

var animateFill = function(){
	var anim = dojox.gfx.fx.animateFill({
		duration:	5000,
		shape: 		rect,
		color:		{start: "yellow", end: "blue"}
	});
	dojo.byId("fill").disabled = "disabled";
	dojo.connect(anim, "onEnd", function(){ dojo.byId("fill").disabled = ""; });
	anim.play();
};

var animateFont = function(){
	var anim = dojox.gfx.fx.animateFont({
		duration:	5000,
		shape: 		text,
		variant:	{values: ["normal", "small-caps"]},
		size:		{start: 10, end: 50, units: "pt"}
	});
	dojo.byId("font").disabled = "disabled";
	dojo.connect(anim, "onEnd", function(){ dojo.byId("font").disabled = ""; });
	anim.play();
};

var animateTransform = function(){
	var anim = dojox.gfx.fx.animateTransform({
		duration:	5000,
		shape: 		text,
		transform:	[
			{name: "rotategAt", start: [0, 250, 250], end: [360, 350, 350]},
			{name: "translate", start: [0, 0], end: [100, 100]}
		]
	});
	dojo.byId("transform").disabled = "disabled";
	dojo.connect(anim, "onEnd", function(){ dojo.byId("transform").disabled = ""; });
	anim.play();
};

var animateMatrix = function(){
	var customMatrix = dojox.gfx.matrix.multiply([dojox.gfx.matrix.rotategAt(-90,250,250),dojox.gfx.matrix.translate(100,100),dojox.gfx.matrix.scaleAt(2,250,250)]);
	var anim = dojox.gfx.fx.animateTransform({
		duration:	5000,
		shape: 		text,
		transform:	[
			{name: "matrix", start: dojox.gfx.matrix.identity, end: customMatrix}
		]
	});
	dojo.byId("matrix").disabled = "disabled";
	dojo.connect(anim, "onEnd", function(){ dojo.byId("matrix").disabled = ""; });
	anim.play();
};
</script>
</head>
<body>
<h1>Testing animation</h1>
<p>
	<button id="stroke" onclick="animateStroke();">Stroke</button>
	&nbsp;
	<button id="fill" onclick="animateFill();">Fill</button>
	&nbsp;
	<button id="font" onclick="animateFont();">Font</button>
	&nbsp;
	<button id="transform" onclick="animateTransform();">Transform (predefined primitives)</button>
	&nbsp;
	<button id="matrix" onclick="animateMatrix();">Transform (raw matrix)</button>
</p>
<div id="test" style="width: 500px; height: 500px;"></div>
<p>That's all Folks!</p>
</body>
</html>
